package demo.DataStrucAndAlgo.Tree;

/**
 * @Auther: hjy(lc))
 * @Date: 2022/8/3-08-03-19:56
 * @Description：demo.DataStrucAndAlgo.Tree    线索化二叉树
 */

/*
线索化二叉树：
    将二叉树中存在空指针域的结点，将其左指针指向其前一个结点
（前驱结点：即遍历后其排序之前的结点），将其右指针指向其后一个结点
（后继结点：即遍历后其排序之后的结点）
 */
class ThreadTree{
    private Node root = null;
    private Node pre = null;
    public ThreadTree(Node root) {
        this.root = root;
    }
    public Node getRoot() {
        return root;
    }
    public void setRoot(Node root) {
        this.root = root;
    }
    public void infixOrderThread(Node node){
        if(node == null){
            return;
        }
        infixOrderThread(node.getLeft());
        if(node.getLeft() == null){
            node.setLeft(pre);
        }
    }
}
public class ThreadBinaryTree {
    public static void main(String[] args) {

    }
}
